package com.aidex.system.service.impl;

import java.util.List;

import com.aidex.common.annotation.DataSource;
import com.aidex.common.enums.DataSourceType;
import org.springframework.stereotype.Service;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import com.github.pagehelper.PageInfo;
import com.aidex.common.core.domain.BaseEntity;
import com.aidex.common.core.service.BaseServiceImpl;
import com.aidex.system.mapper.PacientMapper;
import com.aidex.system.domain.Pacient;
import com.aidex.system.service.PacientService;
import org.springframework.transaction.annotation.Transactional;

/**
 * 病人管理Service业务层处理
 * @author yang
 * @email 33732992@qq.com
 * @date 2024-04-02
 */
@Service
@Transactional(readOnly = true)
public class PacientServiceImpl extends BaseServiceImpl<PacientMapper, Pacient> implements PacientService {

    private static final Logger log = LoggerFactory.getLogger(PacientServiceImpl.class);

    /**
     * 获取单条数据
     * @param pacient 病人管理
     * @return 病人管理
     */
    @Override
    public Pacient get(Pacient pacient) {
        Pacient dto = super.get(pacient);
        return dto;
    }

    /**
     * 获取单条数据
     * @param id 病人管理id
     * @return 病人管理
     */
    @Override
    public Pacient get(String id) {
        Pacient dto = super.get(id);
        return dto;
    }

    /**
     * 查询病人管理列表
     * @param pacient 病人管理
     * @return 病人管理
     */
    @DataSource(value = DataSourceType.SLAVE)
    @Override
    public List<Pacient> findList(Pacient pacient) {
		List<Pacient> pacientList = super.findList(pacient);
        return pacientList;
    }

    /**
     * 分页查询病人管理列表
     * @param pacient 病人管理
     * @return 病人管理
     */
    @DataSource(value = DataSourceType.SLAVE)
    @Override
    public PageInfo<Pacient> findPage(Pacient pacient) {
		PageInfo<Pacient> page = super.findPage(pacient);
        return page;
    }

    /**
     * 保存病人管理
     * @param pacient
     * @return 结果
     */
    @Override
    @DataSource(value = DataSourceType.SLAVE)
    public boolean save(Pacient pacient) {
        return super.save(pacient);
    }

    /**
     * 删除病人管理信息
     * @param pacient
     * @return 结果
     */
    @Override
    public boolean remove(Pacient pacient) {
        return super.remove(pacient);
    }

    /**
     * 批量删除病人管理
     * @param ids 需要删除的病人管理ID
     * @return 结果
     */
    @Transactional(readOnly = false)
    @Override
    public int deletePacientByIds(String[] ids) {
        return mapper.deletePacientByIds(ids, BaseEntity.DEL_FLAG_DELETE);
    }

}
